package controll;

import java.util.List;

import modell.Servico;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;

public class ServicoHibernate implements IServicoDAO {
	private Session sessao;

	@SuppressWarnings("unchecked")
	@Override
	public List<Servico> listar() {
		Criteria lista = sessao.createCriteria(Servico.class);
		return lista.list();
	}

	@Override
	public void excluir(Servico servico) {
		this.sessao.delete(servico);
	}

	@Override
	public void salvar(Servico servico) {
		this.sessao.save(servico);

	}

	@Override
	public void alterar(Servico servicoAlterado) {
		this.sessao.update(servicoAlterado);
	}

	public Session getSessao() {
		return sessao;
	}

	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}

	@Override
	public void excluirPorId(Integer idSer) {
		String sql = " DELETE FROM Servico c where c.Id = :idSer";
		Query consulta = sessao.createQuery(sql);
		consulta.setInteger("idSer", idSer);
		consulta.executeUpdate();
	}

	@Override
	public Servico buscarServico(Integer idServico) {
		String sql = " from Servico c where c.Id = :idSer";
		Query consulta = sessao.createQuery(sql);
		consulta.setInteger("idSer",idServico);
		return (Servico) consulta.uniqueResult();
	}

}
